package com.lebang.mapper;

import com.lebang.entity.buss.FinanceRecord;
import com.lebang.example.FinanceRecordExample;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

@Mapper
public interface FinanceRecordMapper {
    long countByExample(FinanceRecordExample example);

    int deleteByExample(FinanceRecordExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(FinanceRecord record);

    int insertSelective(FinanceRecord record);

    List<FinanceRecord> selectByExample(FinanceRecordExample example);

    FinanceRecord selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") FinanceRecord record, @Param("example") FinanceRecordExample example);

    int updateByExample(@Param("record") FinanceRecord record, @Param("example") FinanceRecordExample example);

    int updateByPrimaryKeySelective(FinanceRecord record);

    int updateByPrimaryKey(FinanceRecord record);

    int confirmByList(@Param("list") List<String> list, @Param("userid") String userid, @Param("note") String note);

    Long missionExpenditureCount(Map<String, Object> list);

    BigDecimal checkAmoutByTaskId(@Param("taskId") String taskId, @Param("type") Integer type);

    Long findcout(@Param("financeRecord") FinanceRecord financeRecord, @Param("name") String name, @Param("star") String star, @Param("end") String end);

    List<Map<String, Object>> missionExpenditurePage(Map<String, Object> list);

    List<Map<String, Object>> findpage(@Param("startNum") int startNum, @Param("limit") Integer limit, @Param("financeRecord") FinanceRecord financeRecord, @Param("name") String name, @Param("star") String star, @Param("end") String end);

    int cancelByList(@Param("list") List<String> list, @Param("userid") String userid);
}